import Vue from 'vue';
import { mobileFormat, mobileEllipsisFormat } from 'utils/phone';

/**
 *  手机号码按照 344 的方式进行格式化显示
 *
 * @example
 *  1.
 *    {{ `18915601235` |  mobile_format }} => `189 1560 1235`
 *  2.
 *    {{ `18915601235` |  mobile_format(',') }} => `189,1560,1235`
 *
 * @param {String} mobile   手机号码
 * @param {String} symbol   分割符号 默认为 ' '
 */
Vue.filter('mobile_format', (mobile, symbol) => {
  return mobileFormat(mobile, symbol);
});

/**
 * 手机号码部分隐藏工具方法
 *
 * @example
 *  1.
 *    {{ `18915601235` |  mobile_ellipsis_format }} => `189*****35`
 *  2.
 *   {{ `18915601235` |  mobile_ellipsis_format(4,3,'.') }} => `1891...235`
 *
 * @param {Number} mobileNumber         手机号码
 * @param {Number} leftNoEllipsisNumber  左边不始隐藏的个数
 * @param {Number} rightNoEllipsisNumber 右边不隐藏的格式
 * @param {String} ellipsisSeparator     隐藏的符号
 */
Vue.filter(
  'mobile_ellipsis_format',
  (mobile, leftNoEllipsisNumber, rightNoEllipsisNumber, ellipsisSeparator) => {
    return mobileEllipsisFormat(
      mobile,
      leftNoEllipsisNumber,
      rightNoEllipsisNumber,
      ellipsisSeparator
    );
  }
);
